package com.atguigu.mybatis.mapper;

import com.atguigu.mybatis.bean.Customer;
import com.atguigu.mybatis.bean.Order;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface OrderCustomerStepMapper {
    // 按id查客户及其订单
    // 两个SQL
    // 1. 按id查客户
    Customer getCustomerById(Long id);
    // 2. 根据客户信息查订单
    List<Order> getOrdersByCustomerId(Long cid);

    // 1. 分步查询，自动做两步 按id查客户+根据客户信息查订单
    Customer getCustomerByIdAndOrderStep(Long id);

    // 按订单id查订单以及关联的客户
    // 2. 分布查询,自动做两步  按id查订单+查客户
    Order getOrderByIdAndCustomersStep(Long id);

    // 按订单id查订单 以及 下单的客户 以及客户的所有订单
    List<Order> getOrdersAndCustomerByOrderId(Long id);
}

